package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 数据字典实体类，用于存储系统中各种数据项及其描述。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "data_dictionary")
public class DataDictionary {

    /**
     * 数据字典ID，自增主键。
     */
    @ApiModelProperty(value = "数据字典ID", example = "1")
    private Long id;

    /**
     * 关联键，用于标识数据字典条目所属的数据类型或领域。
     */
    @ApiModelProperty(value = "关联键", example = "ORDER_STATUS")
    private String bond;

    /**
     * 字典值，具体的数据值。
     */
    @ApiModelProperty(value = "字典值", example = "PENDING")
    private String value;

    /**
     * 注释，描述数据字典条目的含义或用途。
     */
    @ApiModelProperty(value = "注释", example = "待处理的订单状态")
    private String comment;

    /**
     * 创建时间，记录数据字典条目创建的时间。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private LocalDateTime creationTime;

    /**
     * 更新时间，记录数据字典条目最后更新的时间。
     */
    @ApiModelProperty(value = "更新时间", example = "2023-01-01 12:00:00")
    private LocalDateTime updateTime;
}
